296 research outputs found
Succinct Representations of Permutations and Functions
We investigate the problem of succinctly representing an arbitrary
permutation, \pi, on {0,...,n-1} so that \pi^k(i) can be computed quickly for
any i and any (positive or negative) integer power k. A representation taking
(1+\epsilon) n lg n + O(1) bits suffices to compute arbitrary powers in
constant time, for any positive constant \epsilon <= 1. A representation taking
the optimal \ceil{\lg n!} + o(n) bits can be used to compute arbitrary powers
in O(lg n / lg lg n) time.
We then consider the more general problem of succinctly representing an
arbitrary function, f: [n] \rightarrow [n] so that f^k(i) can be computed
quickly for any i and any integer power k. We give a representation that takes
(1+\epsilon) n lg n + O(1) bits, for any positive constant \epsilon <= 1, and
computes arbitrary positive powers in constant time. It can also be used to
compute f^k(i), for any negative integer k, in optimal O(1+|f^k(i)|) time.
We place emphasis on the redundancy, or the space beyond the
information-theoretic lower bound that the data structure uses in order to
support operations efficiently. A number of lower bounds have recently been
shown on the redundancy of data structures. These lower bounds confirm the
space-time optimality of some of our solutions. Furthermore, the redundancy of
one of our structures "surpasses" a recent lower bound by Golynski [Golynski,
SODA 2009], thus demonstrating the limitations of this lower bound.Comment: Preliminary versions of these results have appeared in the
Proceedings of ICALP 2003 and 2004. However, all results in this version are
improved over the earlier conference versio
Three-dimensional acquisition and display system for ultrasonic imaging
Three Dimensional biomedical ultrasonic imaging is relatively in its infancy and many areas for application like tumor detection and identification, virtual surgery planning, among others are being explored. These techniques are expected to provide the medical community with improved diagnostic and analysis capabilities. In order to better understand the image capture and processing issues in these environments, it is necessary to design and implement a reference three dimensional image capture and processing system. In a research environment, the most optimal approach to designing such systems is to leverage existing two dimensional capture technologies and enhance their capabilities for three dimensional imaging. This thesis formulates and implements one approach to developing a three dimensional data acquisition and display system for ultrasonic imaging
Succinct Indexable Dictionaries with Applications to Encoding -ary Trees, Prefix Sums and Multisets
We consider the {\it indexable dictionary} problem, which consists of storing
a set for some integer , while supporting the
operations of \Rank(x), which returns the number of elements in that are
less than if , and -1 otherwise; and \Select(i) which returns
the -th smallest element in . We give a data structure that supports both
operations in O(1) time on the RAM model and requires bits to store a set of size , where {\cal B}(n,m) = \ceil{\lg
{m \choose n}} is the minimum number of bits required to store any -element
subset from a universe of size . Previous dictionaries taking this space
only supported (yes/no) membership queries in O(1) time. In the cell probe
model we can remove the additive term in the space bound,
answering a question raised by Fich and Miltersen, and Pagh.
We present extensions and applications of our indexable dictionary data
structure, including:
An information-theoretically optimal representation of a -ary cardinal
tree that supports standard operations in constant time,
A representation of a multiset of size from in bits that supports (appropriate generalizations of) \Rank
and \Select operations in constant time, and
A representation of a sequence of non-negative integers summing up to
in bits that supports prefix sum queries in constant
time.Comment: Final version of SODA 2002 paper; supersedes Leicester Tech report
2002/1
Asymptotically Optimal Encodings for Range Selection
We consider the problem of preprocessing an array A[1..n] to answer range selection and range top-k queries. Given a query interval [i..j] and a value k, the former query asks for the position of the k-th largest value in A[i..j], whereas the latter asks for the positions of all the k largest values in A[i..j]. We consider the encoding} version of the problem, where A is not available at query time, and an upper bound kappa on k, the rank that is to be selected, is given at construction time. We obtain data structures with asymptotically optimal size and query time on a RAM model with word size Theta(lg(n)): our structures use O(n*lg(kappa)) bits and answer range selection queries in time O(1+lg(k) / lg(lg(n))) and range top-k queries in time O(k), for any k <= kappa
On Succinct Representations of Binary Trees
We observe that a standard transformation between \emph{ordinal} trees
(arbitrary rooted trees with ordered children) and binary trees leads to
interesting succinct binary tree representations. There are four symmetric
versions of these transformations. Via these transformations we get four
succinct representations of -node binary trees that use bits and support (among other operations) navigation, inorder
numbering, one of pre- or post-order numbering, subtree size and lowest common
ancestor (LCA) queries. The ability to support inorder numbering is crucial for
the well-known range-minimum query (RMQ) problem on an array of ordered
values. While this functionality, and more, is also supported in time
using bits by Davoodi et al.'s (\emph{Phil. Trans. Royal Soc. A}
\textbf{372} (2014)) extension of a representation by Farzan and Munro
(\emph{Algorithmica} \textbf{6} (2014)), their \emph{redundancy}, or the
term, is much larger, and their approach may not be suitable for practical
implementations.
One of these transformations is related to the Zaks' sequence (S.~Zaks,
\emph{Theor. Comput. Sci.} \textbf{10} (1980)) for encoding binary trees, and
we thus provide the first succinct binary tree representation based on Zaks'
sequence. Another of these transformations is equivalent to Fischer and Heun's
(\emph{SIAM J. Comput.} \textbf{40} (2011)) \minheap\ structure for this
problem. Yet another variant allows an encoding of the Cartesian tree of to
be constructed from using only bits of working space.Comment: Journal version of part of COCOON 2012 pape
Fast and Simple Compact Hashing via Bucketing
Compact hash tables store a set S of n key-value pairs, where the keys are from the universe U = {0, ..., u - 1}, and the values are v-bit integers, in close to B(u, n) + nv bits of space, where B(u, n) = log2 ((u)(n)) is the information-theoretic lower bound for representing the set of keys in S, and support operations insert, delete and lookup on S. Compact hash tables have received significant attention in recent years, and approaches dating back to Cleary [IEEE T. Comput, 1984], as well as more recent ones have been implemented and used in a number of applications. However, the wins on space usage of these approaches are outweighed by their slowness relative to conventional hash tables. In this paper, we demonstrate that compact hash tables based upon a simple idea of bucketing practically outperform existing compact hash table implementations in terms of memory usage and construction time, and existing fast hash table implementations in terms of memory usage (and sometimes also in terms of construction time), while having competitive query times. A related notion is that of a compact hash ID map, which stores a set (S) over cap of n keys from U, and implicitly associates each key in (S) over cap with a unique value (its ID), chosen by the data structure itself, which is an integer of magnitude O(n), and supports inserts and lookups on S, while using space close to B(u, n) bits. One of our approaches is suitable for use as a compact hash ID map.Peer reviewe
- …